package cn.com.cifi.mars.web.action.sys;

import java.util.List;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import cn.com.cifi.mars.bean.vo.sys.req.UpdateMonitorConfigDetailReqParam;
import cn.com.cifi.mars.bean.vo.sys.req.UpdateSysRoleReqParam;
import cn.com.cifi.mars.bean.vo.sys.rsp.IdmPositionPageVo;
import cn.com.cifi.mars.bean.vo.sys.rsp.MonitorConfigDetailVo;
import cn.com.cifi.mars.bean.vo.sys.rsp.MonitorDetailVo;
import cn.com.cifi.mars.common.bean.R;
import cn.com.cifi.mars.common.constants.VersionConstant;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;

@Api(tags = {"系统管理"})
@RequestMapping("/${spring.data.rest.base-path}/{apiVersion}/sys/monitorConfigDetail")
public interface IMonitorConfigDetailController {

	@ApiOperation(value = "根据组织机构id,查询监控标准信息", notes = "根据组织机构id,查询监控标准信息")
	@GetMapping(value = "detailList")
	public R<List<MonitorConfigDetailVo>> getMonitorConfigDetailList(
			@ApiParam(value = "接口版本", required = true, defaultValue = VersionConstant.V1) @PathVariable(value = "apiVersion") String apiVersion,
			@ApiParam(value = "组织机构id", required = true) @RequestParam(name = "orgId", defaultValue = "") String orgId);

	@ApiOperation(value = "编辑监控指标标准", notes = "编辑监控指标标准")
	@PutMapping(value = "")
	public R<String> updateMonitorConfigDetail(
			@ApiParam(value = "接口版本", required = true, defaultValue = VersionConstant.V1) @PathVariable(value = "apiVersion") String apiVersion,
			@RequestBody UpdateMonitorConfigDetailReqParam param);

	@ApiOperation(value = "根据监控详情id和组织机构id,查询监控标准详情", notes = "根据监控详情id和组织机构id,查询监控标准详情")
	@GetMapping(value = "detail")
	public R<MonitorDetailVo> getMonitorConfigDetail(
			@ApiParam(value = "接口版本", required = true, defaultValue = VersionConstant.V1) @PathVariable(value = "apiVersion") String apiVersion,
			@ApiParam(value = "组织机构id", required = true) @RequestParam(name = "orgId", defaultValue = "") String orgId,
			@ApiParam(value = "健康标准-监控详情Id", required = true) @RequestParam(name = "d1MonitorDetailId", defaultValue = "") String d1MonitorDetailId,
			@ApiParam(value = "提醒标准-监控详情Id", required = true) @RequestParam(name = "d2MonitorDetailId", defaultValue = "") String d2MonitorDetailId,
			@ApiParam(value = "预警标准-监控详情Id", required = true) @RequestParam(name = "d3MonitorDetailId", defaultValue = "") String d3MonitorDetailId
			);
}
